#include "hashtable.h"

template<class K,class V>
class unordered_Mymap
{
	struct MapKeyOfT
	{
		const K& operator()(const pair<K, V>& kv)
		{
			return kv.first;
		}
	};
public:
	typedef typename hash_bucket::hash_table<K, pair<K, V>, MapKeyOfT>::iterator iterator;

	iterator begin()
	{
		return _ht.begin();
	}

	iterator end()
	{
		return _ht.end();
	}

	bool insert(const pair<K, V>& kv)
	{
		return _ht.insert(kv);
	}
private:
	hash_bucket::hash_table<K, pair<K, V>, MapKeyOfT> _ht;
};